Inheritance diagram for TBasicPrimitive:

Public Member Functions | |
| TBasicPrimitive () | |
| virtual | ~TBasicPrimitive () |
| virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj) |
| virtual uint32 MCCOMAPI | AddRef () |
| virtual void *MCCOMAPI | GetExtensionDataBuffer () |
| You MUST implement this method if you have a pmap (the default returns NULL). | |
| virtual MCCOMErr MCCOMAPI | EnumPatches (EnumPatchesCallback callback, void *privData, boolean &closed) |
| virtual MCCOMErr MCCOMAPI | GetNbrLOD (int16 &nbrLod) |
| virtual MCCOMErr MCCOMAPI | GetLOD (int16 lodIndex, real &lod) |
| virtual MCCOMErr MCCOMAPI | GetFacetMesh (uint32 lodIndex, FacetMesh **outMesh) |
| virtual void MCCOMAPI | ChangeLocalTimeInHit (RayHitParameters ¶ms) |
| virtual boolean MCCOMAPI | NeedAnimatedShader () |
| Returns true if this primitive uses local time and therefore need animated shaders. | |
| virtual boolean MCCOMAPI | HasRenderingFacetMesh () |
| virtual MCCOMErr MCCOMAPI | GetRenderingFacetMesh (FacetMesh **outMesh) |
| Returns the mesh that should be used for final rendering. | |
| virtual void MCCOMAPI | GetRenderingMesh (MeshDataStructure::TMeshList **meshList) |
| virtual boolean MCCOMAPI | CanBeSplit () |
| virtual MCCOMErr MCCOMAPI | SplitPrimitive (TMCCountedPtrArray< I3DExGeometricPrimitive > &subParts, TMCArray< TTransform3D > &subPartPositions) |
| virtual uint32 MCCOMAPI | GetUVSpaceCount () |
| virtual MCCOMErr MCCOMAPI | GetUVSpace (uint32 uvSpaceID, UVSpaceInfo *uvSpaceInfo) |
| virtual boolean MCCOMAPI | CanRenameUVSpace () |
| virtual MCCOMErr MCCOMAPI | RenameUVSpace (uint32 uvSpaceID, const TMCString &name) |
| virtual MCCOMErr MCCOMAPI | UV2XYZ (TVector2 *uv, uint32 uvSpaceID, TVector3 *resultPosition, boolean *inUVSpace) |
| virtual MCCOMErr MCCOMAPI | GetUVSpaceRDS5 (uint32 uvSpaceID, UVSpaceInfoRDS5 *uvSpaceInfoRDS5) |
| virtual MCCOMErr MCCOMAPI | AppendToRenderables (const TTransform3D &worldFromModelTfm, TRenderableAndTfmArray &renderableAndTfm) |
| virtual boolean MCCOMAPI | AutoSwitchToModeler () const |
| virtual boolean MCCOMAPI | IsBBoxPickable () const |
| virtual MCCOMErr MCCOMAPI | GetWizardPath (TMCString &path) |
| virtual boolean MCCOMAPI | CanConvertToOtherModeler () |
| virtual void MCCOMAPI | GetUserPresetPath (TMCDynamicString &path) |
| Return the path from the preset folder to the user-defined preset folder. | |
| virtual boolean MCCOMAPI | IsExcludedFromTripleBuffer () |
| virtual void MCCOMAPI | GetDefaultShader (I3DShShader **shader, TMCString *name=nil) |
| virtual void MCCOMAPI | ChangedData () |
| virtual boolean MCCOMAPI | IsGenerator () const |
| virtual I3DShObject *MCCOMAPI | GetPreviewObject (I3DShTreeElement **previewTree) |
Protected Member Functions | |
| virtual real | GetFidelity () |
| virtual void | GetMinMaxLOD (real &minLOD, real &maxLOD) |
|
|
|
|
|
|
|
|
Increments the reference count of the object Reimplemented from TBasicDataExchanger. |
|
||||||||||||
|
Appends the renderable to the renderable array. This is used to append extra renderables on top of the geometry itself.
Implements I3DExGeometricPrimitive. |
|
|
Returns true if the primitive should be open in its modeler immediately after its insertion Implements I3DExGeometricPrimitive. |
|
|
Returns true if the primitive can split itself into sub parts of the same type. Implements I3DExGeometricPrimitive. |
|
|
Returns true if need an apparent button to convert to other modeler. Implements I3DExGeometricPrimitive. |
|
|
Returns true if the primitive can rename uv spaces (ie. implements RenameUVSpace()). Implements I3DExGeometricPrimitive. |
|
|
Do not use. Temporary call. Implements I3DExGeometricPrimitive. |
|
|
Let the object change the local time after a hit
Implements I3DExGeometricPrimitive. |
|
||||||||||||||||
|
Returns the primitive as a list of bicubic patches. It is recommended to use GetFacetMesh() instead.
Implements I3DExGeometricPrimitive. |
|
||||||||||||
|
Returns the default shader for this primitive. This is called each time a primitive is inserted in a scene without a shader
Implements I3DExGeometricPrimitive. |
|
|
You MUST implement this method if you have a pmap (the default returns NULL).
Reimplemented from TBasicDataExchanger. |
|
||||||||||||
|
Returns the Facet Mesh for this lod index.
Implements I3DExGeometricPrimitive. |
|
|
|
|
||||||||||||
|
Return the floating point value of the level of detail that corresponds to the 0-based 'lodIndex'. (lodIndex=0 means highest resolution)
Implements I3DExGeometricPrimitive. |
|
||||||||||||
|
|
|
|
Returns the number of levels of detail (lod) of the primitive. This value is used to determine the lodIndex in GetLOD().
Implements I3DExGeometricPrimitive. |
|
|
Return the Master object to preview if different from main one. Return NULL if it is the same,
Implements I3DExGeometricPrimitive. |
|
|
Returns the mesh that should be used for final rendering.
Implements I3DExGeometricPrimitive. |
|
|
Returns a pointer to the rendering mesh associated with the primitive. Note that the mesh is not cached by the primitive so you can modify it and it is your responsability to delete it.
Implements I3DExGeometricPrimitive. |
|
|
Return the path from the preset folder to the user-defined preset folder.
|
|
||||||||||||
|
Returns the information regarding a particular uvSpace (= shading domain).
Implements I3DExGeometricPrimitive. |
|
|
Returns the number of UV space on the primitives. Implements I3DExGeometricPrimitive. |
|
||||||||||||
|
Returns the information regarding a particular uvSpace (= shading domain). To be implemented only if your primitive existed in RDS 5 or earlier, so that UV spaces can be mapped properly to the new 0..1 boundaries
Implements I3DExGeometricPrimitive. |
|
|
Returns the path to the primitive wizard file (wizard.txt) from the application folder.
Implements I3DExGeometricPrimitive. |
|
|
Returns true if this primitive has a mesh used only for final rendering. If it returns false, you can assume that the mesh for lod 0 and the rendering mesh are the same. Implements I3DExGeometricPrimitive. |
|
|
Returns true if the primitive can be picked in the 3D View when clicking on its bounding box. Usually, you want to reply no, since the picking is done thru a ray-tracing hit test. However, some primitives such as volumic primitives or particles systems may want to answer yes. Default implementation in TBasicPrimitive returns false. Implements I3DExGeometricPrimitive. |
|
|
Return true if its instances should be excluded from the triple buffer (eg used for skinning) Implements I3DExGeometricPrimitive. |
|
|
Return true if the object can generate sub instances if true the component should also implements I3DExInstancePrimitive Implements I3DExGeometricPrimitive. |
|
|
Returns true if this primitive uses local time and therefore need animated shaders.
Implements I3DExGeometricPrimitive. |
|
||||||||||||
|
Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.
Reimplemented from TBasicDataExchanger. |
|
||||||||||||
|
Rename a particular uvSpace (= shading domain).
Implements I3DExGeometricPrimitive. |
|
||||||||||||
|
Builds a list of sub-parts of itself. 'subPartPositions' gives the relative position of each sub part in the object local coordinates. Both arrays need to be of same size. Note: the original primitive needs to remain intact.
Implements I3DExGeometricPrimitive. |
|
||||||||||||||||||||
|
Returns the position in 3D of a point given a set of UV coordinates. This is useful if you want to calculate a UV texture from a 3D shaders for instance.
Implements I3DExGeometricPrimitive. |
1.4.5